// 类与接口

export {} // 确保跟其他示例没有成员冲突

// 建议接口更简单更细化  
// 一个接口实现一个约束
interface Eat {
    // 函数签名地方式约束方法类型 不做具体地方法实现
    eat (fo0d: string): void
}

interface Run {
    run (distance: number): void
}

// 必须有接口对应地成员 否则会报错
class Person implements Eat, Run {
    eat (food: string): void {
        console.log(`优雅的进餐： ${food}`);
    }

    run (distance: number) {
        console.log(`直立行走：${distance}`);
    }
}

class Animal implements Eat, Run {
    eat ( food: string): void {
        console.log(`呼噜呼噜地吃: ${food}`);
    }

    run ( distance: number) {
        console.log(`爬行： ${distance}`);
        
    }
}

// 设计高级框架 采用MVVM思想 扩宽知识面/视野